package com.chenfan.process.biz.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chenfan.notify.MessageClient;
import com.chenfan.notify.NotifyClient;
import com.chenfan.privilege.client.PrivilegeClient;
import com.chenfan.process.entity.po.ProcessPo;
import com.chenfan.process.event.callback.ThirdCallback;
import com.chenfan.process.repository.ProcessRepository;
import com.chenfan.process.service.*;
import com.chenfan.process.service.impl.ApprovalDomainService;
import com.chenfan.process.service.impl.ApprovalSnapshotDomainService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.data.redis.core.RedisTemplate;

/**
 * @author liuming
 * @date 2021/10/19
 */
public abstract class AbstractProcessBiz extends ServiceImpl<ProcessRepository, ProcessPo> {

    @Autowired
    protected ProcessService processService;
    @Autowired
    protected ProcessRelatedService processRelatedService;
    @Autowired
    protected ProcessDetailService processDetailService;
    @Autowired
    protected ApprovalService approvalService;
    @Autowired
    protected ApplicationEventPublisher publisher;
    @Autowired
    protected EventPublisherBiz eventPublisherBiz;
    @Autowired
    protected NotifyClient notifyRemoteService;
    @Autowired
    protected ThirdCallback thirdCallback;
    @Autowired
    protected PrivilegeClient privilegeClient;
    @Autowired
    protected ProcessInstanceApproveService processInstanceApproveService;
    @Autowired
    protected ProcessCarbonCopyService carbonCopyService;
    @Autowired
    protected ApprovalTemplateService approvalTemplateService;
    @Autowired
    protected NotifyBiz notifyBiz;
    @Autowired
    protected ApprovalSnapshotDomainService approvalSnapshotPoService;
    @Autowired
    protected ApprovalDomainService approvalDomainService;
    @Autowired
    protected ProcessRelatedAttributeService processRelatedAttributeService;
    @Autowired
    protected MessageClient messageClient;
    @Autowired
    protected ProcessNodeNotifyConfigService processNodeNotifyConfigService;
    @Autowired
    protected RedisTemplate redisTemplate;
    @Autowired
    protected TemplateConfigService templateConfigService;
}
